課程資訊
課程名稱
高等編譯器設計
Advanced Compiler Design 
開課學期
101-1 
授課對象
電機資訊學院  資訊工程學研究所  
授課教師
廖世偉 
課號
CSIE5054 
課程識別碼
922EU1220 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期五A,B,C(18:25~21:05) 
上課地點
 
備註
初選不開放。本課程以英語授課。教室:資542.
限學士班四年級以上
總人數上限:12人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1011compiler2 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

高等編譯器設計: In this course, we are going to cover data-flow analysis, the theoretical foundation of data-flow analysis, the machine-independent optimization, modern computer architecture (for software pipeline and VLIW), and machine-dependent optimization. 

課程目標
We hope that after this course, the student enrolled this course can have the ability to understand or develop a compiler optimization by themselves. 
課程要求
編譯器設計 
預期每週課後學習時數
 
Office Hours
 
指定閱讀
 
參考書目
 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
第1週
9/14  高等編譯器設計 
第2週
9/21  Data-flow analysis 
第3週
9/28  Theoretical Foundation of Data-flow Analysis 
第4週
10/05  Constant Propagation and Partial-Redundancy Elimination 
第5週
10/12  Loop Optimization 
第6週
10/19  Region-based Program Analysis 
第7週
10/26  Introduction to Modern Computer Architecture 
第8週
11/02  Instruction Scheduling 
第9週
11/09  Midterm 
第10週
11/16  Software Pipelining 
第11週
11/23  Affine Transform Theory and Iteration Spaces 
第12週
11/30  Affine Array Indexes and Data Reuse 
第13週
12/07  Array Data Dependence Analysis 
第14週
12/14  Locality Optimizations 
第15週
12/21  Datalog Programming and BDD 
第16週
12/28  Pointer Analysis 
第17週
1/04  Review